package cn.shuto.liferay.plugin.chart.service.model;

import com.liferay.portal.kernel.bean.AutoEscape;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.CacheModel;
import com.liferay.portal.model.StagedGroupedModel;
import com.liferay.portal.service.ServiceContext;

import com.liferay.portlet.expando.model.ExpandoBridge;

import java.io.Serializable;

import java.util.Date;

/**
 * The base model interface for the Option service. Represents a row in the &quot;echarts_Option&quot; database table, with each column mapped to a property of this class.
 *
 * <p>
 * This interface and its corresponding implementation {@link cn.shuto.liferay.plugin.chart.service.model.impl.OptionModelImpl} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link cn.shuto.liferay.plugin.chart.service.model.impl.OptionImpl}.
 * </p>
 *
 * @author shixw
 * @see Option
 * @see cn.shuto.liferay.plugin.chart.service.model.impl.OptionImpl
 * @see cn.shuto.liferay.plugin.chart.service.model.impl.OptionModelImpl
 * @generated
 */
public interface OptionModel extends BaseModel<Option>, StagedGroupedModel {
    /*
     * NOTE FOR DEVELOPERS:
     *
     * Never modify or reference this interface directly. All methods that expect a option model instance should use the {@link Option} interface instead.
     */

    /**
     * Returns the primary key of this option.
     *
     * @return the primary key of this option
     */
    public long getPrimaryKey();

    /**
     * Sets the primary key of this option.
     *
     * @param primaryKey the primary key of this option
     */
    public void setPrimaryKey(long primaryKey);

    /**
     * Returns the uuid of this option.
     *
     * @return the uuid of this option
     */
    @AutoEscape
    @Override
    public String getUuid();

    /**
     * Sets the uuid of this option.
     *
     * @param uuid the uuid of this option
     */
    @Override
    public void setUuid(String uuid);

    /**
     * Returns the option ID of this option.
     *
     * @return the option ID of this option
     */
    public long getOptionId();

    /**
     * Sets the option ID of this option.
     *
     * @param optionId the option ID of this option
     */
    public void setOptionId(long optionId);

    /**
     * Returns the group ID of this option.
     *
     * @return the group ID of this option
     */
    @Override
    public long getGroupId();

    /**
     * Sets the group ID of this option.
     *
     * @param groupId the group ID of this option
     */
    @Override
    public void setGroupId(long groupId);

    /**
     * Returns the company ID of this option.
     *
     * @return the company ID of this option
     */
    @Override
    public long getCompanyId();

    /**
     * Sets the company ID of this option.
     *
     * @param companyId the company ID of this option
     */
    @Override
    public void setCompanyId(long companyId);

    /**
     * Returns the user ID of this option.
     *
     * @return the user ID of this option
     */
    @Override
    public long getUserId();

    /**
     * Sets the user ID of this option.
     *
     * @param userId the user ID of this option
     */
    @Override
    public void setUserId(long userId);

    /**
     * Returns the user uuid of this option.
     *
     * @return the user uuid of this option
     * @throws SystemException if a system exception occurred
     */
    @Override
    public String getUserUuid() throws SystemException;

    /**
     * Sets the user uuid of this option.
     *
     * @param userUuid the user uuid of this option
     */
    @Override
    public void setUserUuid(String userUuid);

    /**
     * Returns the user name of this option.
     *
     * @return the user name of this option
     */
    @AutoEscape
    @Override
    public String getUserName();

    /**
     * Sets the user name of this option.
     *
     * @param userName the user name of this option
     */
    @Override
    public void setUserName(String userName);

    /**
     * Returns the create date of this option.
     *
     * @return the create date of this option
     */
    @Override
    public Date getCreateDate();

    /**
     * Sets the create date of this option.
     *
     * @param createDate the create date of this option
     */
    @Override
    public void setCreateDate(Date createDate);

    /**
     * Returns the modified date of this option.
     *
     * @return the modified date of this option
     */
    @Override
    public Date getModifiedDate();

    /**
     * Sets the modified date of this option.
     *
     * @param modifiedDate the modified date of this option
     */
    @Override
    public void setModifiedDate(Date modifiedDate);

    /**
     * Returns the name of this option.
     *
     * @return the name of this option
     */
    @AutoEscape
    public String getName();

    /**
     * Sets the name of this option.
     *
     * @param name the name of this option
     */
    public void setName(String name);

    /**
     * Returns the description of this option.
     *
     * @return the description of this option
     */
    @AutoEscape
    public String getDescription();

    /**
     * Sets the description of this option.
     *
     * @param description the description of this option
     */
    public void setDescription(String description);

    /**
     * Returns the template param value of this option.
     *
     * @return the template param value of this option
     */
    @AutoEscape
    public String getTemplateParamValue();

    /**
     * Sets the template param value of this option.
     *
     * @param templateParamValue the template param value of this option
     */
    public void setTemplateParamValue(String templateParamValue);

    /**
     * Returns the chart template ID of this option.
     *
     * @return the chart template ID of this option
     */
    public long getChartTemplateId();

    /**
     * Sets the chart template ID of this option.
     *
     * @param chartTemplateId the chart template ID of this option
     */
    public void setChartTemplateId(long chartTemplateId);

    /**
     * Returns the data source ID of this option.
     *
     * @return the data source ID of this option
     */
    public long getDataSourceId();

    /**
     * Sets the data source ID of this option.
     *
     * @param dataSourceId the data source ID of this option
     */
    public void setDataSourceId(long dataSourceId);

    /**
     * Returns the data sql of this option.
     *
     * @return the data sql of this option
     */
    @AutoEscape
    public String getDataSql();

    /**
     * Sets the data sql of this option.
     *
     * @param dataSql the data sql of this option
     */
    public void setDataSql(String dataSql);

    @Override
    public boolean isNew();

    @Override
    public void setNew(boolean n);

    @Override
    public boolean isCachedModel();

    @Override
    public void setCachedModel(boolean cachedModel);

    @Override
    public boolean isEscapedModel();

    @Override
    public Serializable getPrimaryKeyObj();

    @Override
    public void setPrimaryKeyObj(Serializable primaryKeyObj);

    @Override
    public ExpandoBridge getExpandoBridge();

    @Override
    public void setExpandoBridgeAttributes(BaseModel<?> baseModel);

    @Override
    public void setExpandoBridgeAttributes(ExpandoBridge expandoBridge);

    @Override
    public void setExpandoBridgeAttributes(ServiceContext serviceContext);

    @Override
    public Object clone();

    @Override
    public int compareTo(
        cn.shuto.liferay.plugin.chart.service.model.Option option);

    @Override
    public int hashCode();

    @Override
    public CacheModel<cn.shuto.liferay.plugin.chart.service.model.Option> toCacheModel();

    @Override
    public cn.shuto.liferay.plugin.chart.service.model.Option toEscapedModel();

    @Override
    public cn.shuto.liferay.plugin.chart.service.model.Option toUnescapedModel();

    @Override
    public String toString();

    @Override
    public String toXmlString();
}
